package com.sjgtw.cloud.web.waterDamage.domain;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sjgtw.cloud.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;
import java.util.List;

/**
 * 水害台账对象 t_eg_water_damage
 * 
 * @author lvyoufang
 * @date 2024-03-14
 */
@ApiModel(value="水害台账对象", description="t_eg_water_damage")
public class WaterDamage extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 区段 */
    @ApiModelProperty(value = "区段")
    private Long section;

    /** 区段名称 */
    @ApiModelProperty(value = "区段名称")
    @ExcelProperty(value = "区段")
    private String sectionName;

    /** 工区 */
    @ApiModelProperty(value = "工区")
    private Long workArea;

    /** 工区名称 */
    @ApiModelProperty(value = "工区名称")
    @ExcelProperty(value = "工区")
    private String workAreaName;

    /** 发生时间 */
    @ApiModelProperty(value = "发生时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "发生时间")
    private Date happenTime;

    /** 左右侧 */
    @ApiModelProperty(value = "左右侧")
    @ExcelProperty(value = "左右侧")
    private String leftRight;

    /** 起讫里程 */
    @ApiModelProperty(value = "起讫里程")
    @ExcelProperty(value = "起讫里程")
    private String mileage;

    /** 具体清楚描述及影响范围 */
    @ApiModelProperty(value = "具体清楚描述及影响范围")
    @ExcelProperty(value = "具体清楚描述及影响范围")
    private String describtion;

    /** 是否影响行车 */
    @ApiModelProperty(value = "是否影响行车")
    private Integer impactedDriving;

    @ExcelProperty(value = "是否影响行车")
    private String impactedDrivingStr;

    /** 整改措施 */
    @ApiModelProperty(value = "整改措施")
    @ExcelProperty(value = "整改措施")
    private String rectification;

    /** 整改前文件名称 */
    @ApiModelProperty(value = "整改前文件名称")
    private String beforeName;

    /** 整改前url */
    @ApiModelProperty(value = "整改前url")
    private String beforeUrl;

    /** 整改后文件名称 */
    @ApiModelProperty(value = "整改后文件名称")
    private String afterName;

    /** 整改后url */
    @ApiModelProperty(value = "整改后url")
    private String afterUrl;

    /** 是否已提交 */
    @ApiModelProperty(value = "是否已提交")
    private Boolean submited;

    /** 创建人id */
    @ApiModelProperty(value = "创建人id")
    private Long createUserId;

    private List<Long> deptIds;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setSection(Long section) 
    {
        this.section = section;
    }

    public Long getSection() 
    {
        return section;
    }
    public void setSectionName(String sectionName) 
    {
        this.sectionName = sectionName;
    }

    public String getSectionName() 
    {
        return sectionName;
    }
    public void setWorkArea(Long workArea) 
    {
        this.workArea = workArea;
    }

    public Long getWorkArea() 
    {
        return workArea;
    }
    public void setWorkAreaName(String workAreaName) 
    {
        this.workAreaName = workAreaName;
    }

    public String getWorkAreaName() 
    {
        return workAreaName;
    }
    public void setHappenTime(Date happenTime) 
    {
        this.happenTime = happenTime;
    }

    public Date getHappenTime() 
    {
        return happenTime;
    }
    public void setLeftRight(String leftRight) 
    {
        this.leftRight = leftRight;
    }

    public String getLeftRight() 
    {
        return leftRight;
    }
    public void setMileage(String mileage) 
    {
        this.mileage = mileage;
    }

    public String getMileage() 
    {
        return mileage;
    }
    public void setDescribtion(String describtion) 
    {
        this.describtion = describtion;
    }

    public String getDescribtion() 
    {
        return describtion;
    }
    public void setImpactedDriving(Integer impactedDriving) 
    {
        this.impactedDriving = impactedDriving;
    }

    public Integer getImpactedDriving() 
    {
        return impactedDriving;
    }
    public void setRectification(String rectification) 
    {
        this.rectification = rectification;
    }

    public String getRectification() 
    {
        return rectification;
    }
    public void setBeforeName(String beforeName) 
    {
        this.beforeName = beforeName;
    }

    public String getBeforeName() 
    {
        return beforeName;
    }
    public void setBeforeUrl(String beforeUrl) 
    {
        this.beforeUrl = beforeUrl;
    }

    public String getBeforeUrl() 
    {
        return beforeUrl;
    }
    public void setAfterName(String afterName) 
    {
        this.afterName = afterName;
    }

    public String getAfterName() 
    {
        return afterName;
    }
    public void setAfterUrl(String afterUrl) 
    {
        this.afterUrl = afterUrl;
    }

    public String getAfterUrl() 
    {
        return afterUrl;
    }
    public void setSubmited(Boolean submited)
    {
        this.submited = submited;
    }

    public Boolean getSubmited()
    {
        return submited;
    }
    public void setCreateUserId(Long createUserId) 
    {
        this.createUserId = createUserId;
    }

    public Long getCreateUserId() 
    {
        return createUserId;
    }

    public List<Long> getDeptIds() {
        return deptIds;
    }

    public void setDeptIds(List<Long> deptIds) {
        this.deptIds = deptIds;
    }

    public String getImpactedDrivingStr() {
        return impactedDrivingStr;
    }

    public void setImpactedDrivingStr(String impactedDrivingStr) {
        this.impactedDrivingStr = impactedDrivingStr;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("section", getSection())
            .append("sectionName", getSectionName())
            .append("workArea", getWorkArea())
            .append("workAreaName", getWorkAreaName())
            .append("happenTime", getHappenTime())
            .append("leftRight", getLeftRight())
            .append("mileage", getMileage())
            .append("describtion", getDescribtion())
            .append("impactedDriving", getImpactedDriving())
            .append("rectification", getRectification())
            .append("beforeName", getBeforeName())
            .append("beforeUrl", getBeforeUrl())
            .append("afterName", getAfterName())
            .append("afterUrl", getAfterUrl())
            .append("submited", getSubmited())
            .append("remark", getRemark())
            .append("createUserId", getCreateUserId())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
